package com.yc.mvc.action;

import com.yc.mvc.bean.Emp;
import com.yc.mvc.bean.Result;
import org.springframework.validation.Errors;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.validation.Valid;

@RestController
public class UserAction {

    // http://localhost/C97_S3_Ply_SpringMVC_war/reg?
    // name=root&
    // pwd=123456
    // &email=222@22.com
    // &phone=12345678900
    // &age=18
    @RequestMapping("reg")
    // 在被验证的对象前 + @Valid
    // 紧跟被验证对象后 + Errors
    public Result reg(@Valid Emp emp, Errors errors) {
        boolean b = errors.hasGlobalErrors();// 对象全局错误
        b = errors.hasFieldErrors();// 对象字段错误
        b = errors.hasErrors();      // 对象全部错误

        errors.getAllErrors();
        errors.getGlobalErrors();
        errors.getFieldError("指定字段名");

        errors.reject("自定义错误编码",
                "自定义错1`误信息"); // 提交新的错误

        if (errors.hasErrors()) {
            return new Result(0, "验证错误", errors.getAllErrors());
        } else {
            return new Result(2, "验证正确", null);
        }

    }

}
